<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    /*
      promise 是一个构造函数，所以在使用的时候需要实例化
      同时还需要给构造函数传递一个方法，只有传入这个方法，Promise才有实际的意义
      这个方法有两个参数，resolve  reject
      resolve  reject 也是两个回调函数
      resolve  正确返回结果
      reject  错误的返回结果
    */
    var p = new Promise((resolve, reject) => {
      setTimeout(() => {
        var flag = false
        if (flag) {
          resolve('正确')
        } else (
          reject('错误')
        )
      }, 1000)
    })
    /*
      Promise 是解决异步问题的，但是Promise本身就是一个异步函数
      所以需要使用回调函数接收返回的结果
      then有两个函数参数，其一第一个是resolve 回调函数 第二个是reject的回调函数  
    */
    p.then((e) => {
      console.log(e);
    }, (a) => {
      console.log(a);
    })
  </script>
</body>

</html>